#ifndef PERCEP_H_INCLUDED
#define PERCEP_H_INCLUDED

#include "funciones.h"

using namespace std;

class perceptron
{

    public:
    perceptron(int tip, int can, double factor);
    perceptron(char *archivo);
    ~perceptron();

    void guardar_patrones(char *archivo, int casos, double **entrenamiento);
    double **cargar_patrones(char *archivo, int *casos);
    void guardar_red(char *archivo, int entr);
    void cargar_red(char *archivo);
    void entrenar(double **entrenamiento, int casos);
    void ejecutar();
    double respuesta(double *entr);
    int get_cant_entradas();

    private:
    void funcion_activacion(double );
    void funcion_salida();
    void corregir_pesos(double delta_salida);
    void iniciar_pesos();

    //Variables
    double *pesos;
    double *entradas;
    double umbral;
    double salida;
    int tipo;
    int cant_entradas;
    double factor_aprendizaje;


};




#endif // PERCEP_H_INCLUDED
